package com.letu.annotation.annotation.user;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 请求的方法参数SysUser上添加该注解，则注入当前登录人信息
 * 例1：public void test(@LoginUser SysUser user) // 取BaseContextHandler中的 用户id、账号、姓名、组织id、岗位id等信息
 * 例2：public void test(@LoginUser(isOrgRoles = true) SysUser user) //能获取SysUser对象的实时的用户信息和组织角色信息
 * 例5：public void test(@LoginUser(isFull = true) SysUser user) //能获取SysUser对象的基本信息
 *
 * @author ligang
 * @date 2018/7/24 16:44
 */
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LoginUser {
    /**
     * 是否查询SysUser对象所有信息，true则通过feign接口查询
     */
    boolean isFull() default false;

    /**
     * 是否查询组织角色信息，true则通过feign接口查询
     */
    boolean isOrgRoles() default false;
}
